This invention relates to switching technologies generally and particularly related to Universal Serial Bus technology.
Universal Serial Bus (hereinafter USB) technology is a communication protocol in accordance with the Universal Serial Bus Specification, Revision 1.1, Sep.b 23, 1998, that supports serial data transfers between a USB host computer and USB-capable peripheral. The host serves as the master of the bus, and the peripherals perform as slaves connected either directly to the host or through hubs. USB transfers signal and power over a four-wire cable, or cable 100 as shown in FIG. 1.
One of the major benefits of USB is its support for xe2x80x9chotxe2x80x9d attachment and detachment of devices. Specifically, users can plug in and use a new USB device without having to shut off the host system. Immediately after a device is attached to the USB host, the host controller is alerted of the attachment(s) by voltage changes on the D+ (104) and Dxe2x88x92 (106) lines. Then the host goes through a bus enumeration process to acquire information from the connected device, gives it a unique address and assigns it a configuration value. On the other hand, when the device is detached from the host, specific voltage changes on the D+ (104) and Dxe2x88x92 (106) lines alert the host of the action. In response to the notification, the host acknowledges the removal of the device and frees up any host resources previously committed to the device.
Although multiple USB devices can connect to either a USB hub or a USB host, other situations demand multiple USB hosts to share a USB device. For example, a company presenting its software product in a tradeshow may have multiple computers running the software. In order to control these computers and operate the software, the company may have a USB input/output (hereinafter I/O) device, such as a USB keyboard and/or a USB mouse, attached to each one of the computers. This one I/O device per computer type of arrangement not only is costly, but also unnecessarily clutters the already limited presentation area. Moreover, the arrangement may lead to undesirable human errors, especially when the number of computers is unmanageably large. For instance, users may use an incorrect USB I/O device to try to access a particular computer.
Therefore, a method and apparatus is needed to allow multiple electronic systems a to share a USB device.
A method and apparatus for allowing multiple electronic systems to share a Universal Serial Bus (USB) device is disclosed.
In one embodiment, the electronic systems and the USB device are connected to a switcher. The switcher performs bus enumeration to acquire USB device information and presents a number of images of the acquired USB device information to the electronic systems. The switcher also maintains logical links between the connected electronic systems and the USB device. Lastly, the switcher selects one of the connected electronic systems to communicate USB data packets with the USB device.